﻿using Prism.Mvvm;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WheelClean2.Model
{
    public class LaserInfo : BindableBase
    {
        /// <summary>
        /// 序号
        /// </summary>
        public int ID { get; set; }

        /// <summary>
        /// 工艺名称
        /// </summary>
        public string ListName { get; set; }


        private double? _speed;

        private double? _power;
        private double? _frequency;
        private double? _jumpSpeed;
        private double? _jumpDelay;
        private double? _laserOnDelay;
        private double? _laserOffDelay;
        private double? _pulseWidth;
        private string _name;
        private string _path;
        private double? _height;
        private bool _skyIsEnble;
        private double? _acceLength;
        private double? _deceLength;
        private double? _width;
        private string _type;

        /// <summary>
        /// 板卡类型
        /// </summary>
        public string Type
        {
            get => _type;
            set => SetProperty(ref _type, value);
        }

        //速度
        public double? Speed
        {
            get => _speed;
            set => SetProperty(ref _speed, value);
        }

        //激光功率
        public double? Power
        {
            get => _power;
            set => SetProperty(ref _power, value);
        }

        //激光频率
        public double? Frequency
        {
            get => _frequency;
            set => SetProperty(ref _frequency, value);
        }

        //跳转速度
        public double? JumpSpeed
        {
            get => _jumpSpeed;
            set => SetProperty(ref _jumpSpeed, value);
        }

        //跳转延迟
        public double? JumpDelay
        {
            get => _jumpDelay;
            set => SetProperty(ref _jumpDelay, value);
        }

        //开光延迟
        public double? LaserOnDelay
        {
            get => _laserOnDelay;
            set => SetProperty(ref _laserOnDelay, value);
        }

        //关光延迟
        public double? LaserOffDelay
        {
            get => _laserOffDelay;
            set => SetProperty(ref _laserOffDelay, value);
        }

        //脉冲宽度
        public double? PulseWidth
        {
            get => _pulseWidth;
            set => SetProperty(ref _pulseWidth, value);
        }

        /// <summary>
        /// 配置文件名称
        /// </summary>
        public string Name
        {
            get => _name;
            set => SetProperty(ref _name, value);
        }
        /// <summary>
        /// 文件路径
        /// </summary>
        public string Path
        {
            get => _path;
            set => SetProperty(ref _path, value);
        }

        /// <summary>
        /// 高度
        /// </summary>
        public double? Height
        {
            get => _height;
            set => SetProperty(ref _height, value);
        }

        /// <summary>
        /// 宽度
        /// </summary>
        public double? Width
        {
            get => _width;
            set => SetProperty(ref _width, value);
        }

        /// <summary>
        /// 是否开启匀速打标模式.
        /// </summary>
        public bool SkyIsEnble
        {
            get => _skyIsEnble;
            set => SetProperty(ref _skyIsEnble, value);
        }

        /// <summary>
        /// 起点长度
        /// </summary>
        public double? AcceLength
        {
            get => _acceLength;
            set => SetProperty(ref _acceLength, value);
        }

        /// <summary>
        /// 结束点长度
        /// </summary>
        public double? DeceLength
        {
            get => _deceLength;
            set => SetProperty(ref _deceLength, value);
        }
        /// <summary>
        ///  创建人
        /// </summary>
        public string Creater { get; set; }
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime? CreatedTime { get; set; }
    }
}
